package com.wgh.api.client.fallback;

import com.wgh.api.client.cart.CartClient;
import com.wgh.cart.dto.CartItemDTO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;

import java.util.ArrayList;
import java.util.List;

/**
 * 购物车服务客户端熔断降级实现
 */
@Component
@Slf4j
public class CartClientFallback implements CartClient {

    @Override
    public Boolean addToCart(CartItemDTO cartItemDTO) {
        log.error("购物车服务调用失败，降级处理：addToCart(cartItemDTO={})", cartItemDTO);
        return false;
    }

    @Override
    public List<CartItemDTO> getCartList(Long userId) {
        log.error("购物车服务调用失败，降级处理：getCartList(userId={})", userId);
        return new ArrayList<>();
    }

    @Override
    public Boolean updateCartItemCount(CartItemDTO cartItemDTO) {
        log.error("购物车服务调用失败，降级处理：updateCartItemCount(cartItemDTO={})", cartItemDTO);
        return false;
    }

    @Override
    public Boolean deleteCartItem(Long id) {
        log.error("购物车服务调用失败，降级处理：deleteCartItem(id={})", id);
        return false;
    }

    @Override
    public Boolean clearCart(Long userId) {
        log.error("购物车服务调用失败，降级处理：clearCart(userId={})", userId);
        return false;
    }

    @Override
    public List<CartItemDTO> getBatchCartItems(List<Long> ids) {
        log.error("购物车服务调用失败，降级处理：getBatchCartItems(ids={})", ids);
        return new ArrayList<>();
    }
}